package com.youlai.boot.system.converter;

import com.youlai.boot.system.model.dto.BigcapExcelDTO;
import com.youlai.boot.system.model.entity.Bigcap;
import com.youlai.boot.system.model.form.BigcapForm;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 大盘数据转换器
 *
 * @author Jason
 * @since 2025/5/13
 */
@Mapper(componentModel = "spring")
public interface BigcapConverter {

    /**
     * 实体转Excel DTO
     *
     * @param entity 实体
     * @return Excel DTO
     */
    BigcapExcelDTO entity2ExcelDTO(Bigcap entity);

    /**
     * 实体列表转Excel DTO列表
     *
     * @param entities 实体列表
     * @return Excel DTO列表
     */
    List<BigcapExcelDTO> entity2ExcelDTO(List<Bigcap> entities);

    /**
     * Excel DTO转实体
     *
     * @param dto Excel DTO
     * @return 实体
     */
    Bigcap excelDTO2Entity(BigcapExcelDTO dto);
    
    /**
     * 实体转表单
     *
     * @param entity 实体
     * @return 表单
     */
    BigcapForm toForm(Bigcap entity);
    
    /**
     * 表单转实体
     *
     * @param form 表单
     * @return 实体
     */
    Bigcap toEntity(BigcapForm form);
}
